查看原文
其他

程序员和码农的区别是什么?

曾嵘 曾嵘胡扯的地方
2024-10-09
小游戏创业:为什么你不需要技术合伙人?

上文 6000 字,花了一周构思,6 小时写完。不但会聊清楚 怎么分配精力,怎么寻找合伙人 这两个问题,也会大量串联我近 8 年创业和管理工作中的思考。强烈建议阅读。

下面几篇好文明显被忽略了,游戏创业团队的管理者可以看看:

(头图在文末)



这篇文章成文于2014年,最早发在我的博客 blog.zengrong.net,可点击阅读原文访问。


原文名为《真正的程序员应该能自己解决问题》。刚巧我写了一篇《优秀的程序员和一般的程序员差别在哪》,两篇合一篇了。

文章来源于 quick 论坛上的讨论, 原文在这里:

https://groups.google.com/forum/#!topic/quick-x/sQl03Duyy7g

我在十年前征得大家同意,将我们的讨论发布在这里。


Xpol Wan

大家好,

我来发点牢骚。

最近老是看到有人发错误信息的截图问怎么办。虽然论坛里面没有说不能问这样的问题。

但是我个人的意思是,这些真的是属于你自己的鸡毛蒜皮的小问题,不必到这里来问,这些问题多数都不属于quick-x。

以下是我的一些建议:

  1. 程序员需要学习英语,如果你连错误信息里面的英语的字面意思都不懂,要么洗洗睡了,要么去学学英语吧。

  2. 你需要学会从错误信息中找到最关键的信息:比如LUA ERROR... module 'xxxxx' not found或者undefined reference to ‘xxxxx’

  3. 找到这些关键后(比如,上面的这些'xxxx'就是你解决问题的关键,无非是运行时,或者编译时找不到xxxx。)进行对应的处理和解决

  4. 如果你不知道怎么处理,可以google,把关键错误信息贴到google里面,搜索一下,多半就有答案了;千万别找度娘,切记切记~~(我想说程序员用度娘搜索程序问题,只有两个原因:一是你英语很菜,二是你程序员能力很菜)

  5. 翻墙技能也是必须的,最简单的就是买个靠谱的VPN,喜欢折腾可以goagent或者vps+shandowsocks。

  6. 就算是你要问这些问题,也请别截图,直接贴错误信息文本;就算别人愿意帮你google,你也得得让别人好拷贝粘贴啊,大家都这么忙不是吗?

  7. 问问题的时候,大家希望看到的时候你做了那些分析和尝试,而不是:来吧,帮我看看这个图里面的错误信息,然后就没有然后了。你都懒得打字说明问题,为什么指望别人帮你分析帮你解决,然后打字告诉你该如何如何呢?

  8. 一切技术问题都是纸老虎,搞定他,一个错误信息都搞不定,何以搞定天下?

就是这么多,希望对大家有帮助。

如果你觉得说的都是狗屁,就全当杂音,直接 m 吧。Best Regards!

Xpol Wan // There is a better way!

对楼主说的表示支持。分析问题,能够准确描述问题以及解决问题是程序员走向成熟必不能缺少的阶段。


ChildhoodAndy

http://wiki.woodpecker.org.cn/moin/AskForHelp 你会发现你熟读“提问的智慧”并在问题上付诸实践之后,问的问题基本上都会有人答,而且可能直接就是问题的答案所在。为什么stackoverflow上有些问题答案质量那么高,这跟提问者为了提问问题所作出的努力有很大关系,包括事先google、查阅手册、尝试解决问题的方式等等,如果你是stackoverflow网站的注册用户,你还可以对提问着的问题进行编辑,去除不重要的信息,明显语法问题等会让回答者更快的理解到问题所要表达的意思。


Jacky(曾老师)

相当赞同。

中文版 提问的智慧(2013-10-26翻译) 在这里:提问的智慧,里面也有英文版的链接。

想要别人回答你的问题,应该先想尽办法把问题描述清楚,加上其中你自己的理解,你的错误尝试等等等~

在问题的格式上应该尽量清晰,容易辨别,这起码是对回答者的一种最基本的尊重。毕竟,没有谁必须回答你的问题。

说实话,现在quick论坛里看到的很多问题,真的是让人看一眼就生气(或者想笑),更别说回答了。

关于为什么必须使用Google而不是百毒,Childhood说的很有道理。但我的意见是,对于技术问题,无论如何都不要用百毒。

算法是一部分原因,更多的原因是这几个:

1. 百毒通常不会把你最需要的技术问题列在第一页(或者第一页的上半部分)。

例如你在百毒中搜索一个软件名称,Google一般会直接把软件的官方网站列在第一个。而在百毒里面第一个一般都是百毒的应用下载中心,或者国内的软件下载站等等地址。你真的去国内的软件下载站下载软件看看就知道了,很难找到真正的下载地址,这得耽误多少事啊~~

再例如,你要搜索一门新的技术(或者老的技术),谷歌通常直接列出该技术的官网,或者比较权威的资源,或者维基百科。而百毒排在前面的一般是百毒百科,然后就是哪些抄来抄去的文章、评测、博客等等。

2. 百毒给出的文章质量通常不高。

当然,这和国内的技术文章质量高的较少有关系。但我很奇怪的一点是,为什么同样是中文,谷歌却能搜出质量很高的原出处中文技术文章,百毒搜出的却都是百毒空间里面哪些被转载了无数次的格式乱成一锅粥前后颠倒内容残缺不全甚至语句都不通顺的烂文?

你看,耽误多少事啊~~

3. 百毒更懂中文,Google更懂英文。

众所周知,许多新的技术(或者老的技术)英文资源更多,优秀的英文资源则更更多。让更懂中文的百毒来做这件不可能完成的任务,还不如仔细学一下怎么用简单的英文关键词得到自己想要的内容更不耽误事儿~

BTW:如果实在不愿意搭梯子,可以勉为其难的用一下Bing的英文搜索。当然,Google是无可替代的。


Ao Xu

本人是百度黑,走到哪黑到哪,从里黑到外,对@Jacky 的回答很赞同,无论如何都不要用百度。就连我原先在github pages的个人博客,都在robots.txt里写了不允许百度收录。并且我对@Jacky 的回答从原理上补充说明:百度为什么会这样,Google为什么不会。

1. 百度为什么不会把官网列在第一个?这里有几重原因。

首先,百度通过付费可以影响搜索结果的排序(就是臭名昭著的『竞价排名』),而Google不允许这种行为,两者在公司盈利模式上就有本质区别,Google是通过广告盈利的,例如AdWords和AdSense。

其次,两家公司追求的宗旨不同,百度希望自家的产品占领互联网,而Google希望全互联网的网页都能得到有效的检索。百度搜索越来越趋向于『百度站内搜索』,就像@Jacky 说的,搜软件会引导到百度应用下载中心;大家留意一下,平时搜一些东西,结果往往是引导到百度知道、百度百科、百度贴吧、百度空间这些同属于baidu.com域名下的低质量内容来源。而Google从来不偏袒自己的产品,我仅仅举出几个例子:

  • 谷歌第三次自罚下调Chrome网站搜索排名

  • Google惩罚性降低Google日本的搜索排名

2. 为什么百度搜不出原始出处的文章?

原因跟之前的相同:竞价排名+百度站内搜索。而且从搜索引擎基本原理上,Google计算搜索结果的权重(PageRank值)的主要来源是『反向链接』数,就是有多少网页有链接指向它。可以想到,一篇原始出处的技术文章,必定有很多地方会引用它,所以它的反向链接数也会很多,自然排名就高。事实上搜索引擎的排序原理有着非常复杂的算法,篇幅所限我无法一一说明。Google搜索在技术原理上的先进性是百度完全无法比拟的,可以说是数量级的差距。

3. 关于『百度更懂中文』这一点,我一直都是不赞同的

黑百度的人都常说『百度是卖假药的』,这不就是中文搜索特有、百度特有的现象吗?另外Google领先于百度的技术有很多是与语言无关的,Google是一个国际化服务,提供世界各国语言的搜索,这不是光靠百度对中文的研究就能超越的。所以即使中文搜索,我依然用Google。

如果不想搭梯子,可以用 www.googlestable.com 无痛搜索。

欢迎百度的粉丝来反驳我不对的地方,请举出你的事实和观点。


优秀的程序员和一般的程序员差别在哪?

这是我在知乎上的一个回答,原文在这里:

http://www.zhihu.com/question/19759297/answer/23187279

在我看来,没有优秀程序员和一般程序员,只有程序员和码农。

如果按 排名第一 的 @郭凛 的答案来分类,那就是5是程序员,1234是码农。

举个栗子:

  • A:对于我们这种需要多方合作的项目,还是用git比较方便管理。

  • B:svn很牛逼的!我用了很多年了!

  • A:git的分支很方便,合并操作相当简洁且没有负担。

  • B:svn也有分支!百度上说svn更适合企业!

  • A:git只有一个.git目录来管理所有版本,在排除的时候很方便!

  • B:svn现在也支持单 .svn目录了!

再举个栗子:

  • A:为什么我们网站的根目录下面还有个.settings和.project文件夹?

  • B:我上传时候直接用flashfxp一拖就上来了,没看有什么文件夹。

  • A:为什么我刚才pull之后在项目库下面多了个 未命名.txt 文件?

  • B:嗯,那是我自己做笔记备份用的。

三举个栗子:

  • A:为什么Hero这个类有1万行?

  • B:我觉得把所有功能写在一个类里面很方便啊!

  • A:为什么这段代码复制了4次?封装成函数啊!

  • B:啊!有么?

  • A:这几个类为什么不用适配器模式?

  • B:什么是适配器模式?

最后举个栗子:

  • B:怎么加一个Sprite到Node中?

  • A:Node.addChild(Sprite)

  • B:我要在加的时候设置层级关系!

  • A:RTFM!

码农真正意识(而不是调侃)到自己是码农的时候,TA才可能成为一个程序员。

而当TA成为一个程序员的时候,TA才有资格站在山脚下,憧憬着那那高耸入云的峰顶,开始攀登。






书籍推荐:《百万在线:大型游戏服务端开发》

使用Skynet引擎开发对战游戏,直面各类工程难题!针对大规模在线游戏的服务端架构和技术进行深入剖析。讨论服务器优化、负载均衡、数据同步等关键技术点。书籍被一些学校的软件工程或游戏相关专业选做教材。

近期胡扯游戏将与机械工业出版社合作组织赠书活动,本书《百万在线》作者在胡扯游戏群中,欢迎入群与作者交流。



特别介绍

有很多重要内容,公众号发不了,但群里特别能聊。

群里有独立开发者,游戏公司创始人、大厂负责人、量子理论研究者……

关注公众号可以进群一起唠嗑,独立游戏、商业游戏、流量游戏、研发、投放、发行、运营、招人 都能聊,纯唠嗑也欢迎。



下面几个系列文章花了不少精力,可以读一读:


创业系列:



效率系列:



产品分析:


立项系列:



混变系列:


运营系列:

成长系列:

会议系列:

奇技淫巧:

荐号系列:


电子游戏是怎么赚钱的:


再多读几篇:


都刷到这里了,不来个「点赞」「分享」「在看」一键三连吗?

个人观点,仅供参考
继续滑动看下一个
曾嵘胡扯的地方
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存